package com.rede.didiok.common.dto.es;


import java.util.Date;
import java.util.List;

import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * es的 rank 索引中存储的数据模型
 */
@Data
public class RankMemberEsModel {

    /** 榜单成员id */
    private Long memberId;

    /** 榜单成员名 */
    private String memberName;

    /** 榜单成员图片 */
    private String memberCover;

    /** 榜单成员的投票数 */
    private Integer voteCount;

    /** 榜单成员的反对数 */
    private Integer opposeCount;

    /** 榜单成员的热度 */
    private Integer hotScore;

    /** 榜单id */
    private Long rankId;

    /** 榜单名 */
    private String rankName;

    /** 等级id */
    private Long gradeId;

    /** 等级名 */
    private String gradeName;

    /** 榜单logo */
    private String rankLogo;

    /** 榜单分类id */
    private Long catId;

    /** 榜单分类名 */
    private String catName;

    /** 发布时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date publishTime;

    /** 榜单成员的属性 */
    private List<Attrs> attrs;


    @Data
    public static class Attrs{

        /** 榜单成员的属性id */
        private Long attrId;
        /** 榜单成员的属性名 */
        private String attrName;
        /** 榜单成员的属性值 */
        private String attrValue;
    }

}
